Text entry dialog box system and method of using same

ABSTRACT

A text entry dialog box ( 62 ) is disclosed for use with an associated window and associated user. A text entry space ( 64 ) is provided for text entry by the user. A memory ( 82 ) stores previous text entries. A selection button ( 70 ) is displayed when the memory ( 82 ) contains at least one previous text entry. A selection list ( 72 ) is displayed when the selection button ( 70 ) is selected by the user. The invention may alternately be viewed as a modified drop-down list box ( 62 ). The text line ( 64 ) is editable, and the visibility of the drop-down selection arrow ( 70 ) is conditional upon the selection list ( 72 ) containing at least one entry. Preferably, a parser ( 102 ) parses the edited text line contents, and the selection list ( 72 ) contains previous text entries entered in the editable text line ( 64 ), parsed by the parser ( 102 ), and containing at least one character after the parsing.

BACKGROUND OF THE INVENTION

The present invention relates to a graphical user interface (GUI), andmore particularly to an improved text entry dialog box system for userinput of text and a method of using same. The word “text” as used hereinis to be broadly interpreted to encompass any alphanumeric information,including but not limited to: ordinary text, computer commands, numericvalues represented by alphanumeric strings, and the like. “Alphanumeric”refers to letters, digits, punctuation symbols, and the like,represented for example in the conventional ASCII format althoughalphanumeric should not be construed as being limited thereto.

As is well known to those skilled in the art, a GUI interface typicallyincludes a plurality of pictorial representations, or icons, each iconrepresenting a specific entity such as a program, data file, folder, orother element. A pointing device such as a mouse, track-ball, ortouch-sensitive screen permits the user to indicate and select aparticular icon and thereby launch the associated object. GUI interfacesare usually layered in that selection of an icon may introduce one ormore new screen areas, or windows, which provide the user withadditional icons. Selection of a folder icon, for example, may open anew window containing icons representing objects contained within theparent folder.

Various GUI interfaces have been widely adopted in various forms, withwell known commercial embodiments including the Microsoft Windows, UNIXX-Windows, and the Macintosh Mac OS operating systems. Programs runningunder these operating systems also usually use a GUI interface. GUI hasbeen found to be an extremely user-friendly format for human-computerinterfacing. The use of intuitive GUI interfacing greatly speeds usertraining and minimizes user effort as measured by keystrokes, mouseclicks, and the like required to accomplish a task. The GUI approachalso meshes extremely well with the object-oriented programming paradigmpresently preferred for software development.

FIG. 1 shows a typical data entry window 10 provided by a GUI interface.The GUI interface does not direct the user through a fixed, linearsequence of data entry steps. Rather, a typical GUI interface provides acomplete data entry form with a large number of simultaneously availableinput dialog boxes. A distinctive feature of the GUI interface is thetypically wide range of available input dialog box types. The GUIinterface minimizes user effort by providing sophisticated data entrydialog boxes such as check boxes 12, toggle buttons 14, list boxes 16and 18, text entry boxes 20, and the like. Often, one or more activationbuttons 21 such as the “CONTINUE” 22, “BACK” 24, and “HELP” 26 buttonsof FIG. 1 are also provided to initiate various operations.

The user selects, or focuses upon, a particular input dialog box eitherby selecting it with the pointing device or through a keyboardcombination, such as by pressing TAB. After supplying the data, the userdefocuses from the dialog box, again either through the pointing deviceor the keyboard. Typically pressing ENTER will defocus from the currententry dialog box. Defocusing from the dialog box registers, or “enters”,the supplied data.

The dialog boxes used in GUI interfaces are intuitive in part becausethey limit the number of choices available to the user. For example, thelist box 16 limits the user to five age ranges, while list box 18presumably contains entries corresponding to the names of states, suchas “California” or “Ohio”. The data entry window 10 allows the user toinput data to the dialog boxes in any order. For example, at the timeinstant illustrated in FIG. 1, the “Name” 20, “Gender” 14, and “I willbe attending” 12 dialog boxes had already been filled out. The user iscurrently filling out the “Age” list box 16, while the “State ofResidence” list box has not yet been filled out, as indicated by theblank space 28.

Another advantage of GUI dialog boxes is that they often can be operatedentirely by the pointing device rather than requiring keyboard entry.Referring to the “Age” list box 16 of FIG. 1, the list of age ranges 30was brought up by selecting the drop down arrow 32 using the pointingdevice, and the particular age range will subsequently be selected byagain using the pointing device. The user never needs to make use of akeyboard to fill out “Age” list box 16. Avoidance of free-form textentry also simplifies post-input processing through elimination of thetext parsing step wherein extraneous spaces and other characters arestripped away and the text is verified to be in an acceptable format,such as a numeric format if the input requires a numeric value.

In spite of the advantages of these sophisticated input dialog boxes,GUI interfaces nonetheless necessarily often utilize conventionalfree-form text entry dialog boxes, such as the “Name” dialog box 20 ofFIG. 1. Text entry boxes are indispensable for input of data which isnot predictable, such as a personal name 34. Because a name cannot bepredicted a priori, a list box or other pointing-device driven input boxcannot be applied, and the user must enter the data using a keyboard.Because of the inherently unknown nature of free-form text entry, theprior art teaches very few methods for facilitating this type of inputin a GUI environment.

The operation of a typical text entry dialog box is illustrated ingreater detail in FIGS. 2( a), 2(b), 2(c), and 2(d). The user isinitially presented with a blank entry line 40 as shown in FIG. 2( a).In order to type text, the user first focuses on the entry line such asby pointing to the line and clicking or the like, and thereafter typesthe data 42 via the keyboard as shown in FIG. 2( b). Next, the userdefocuses to enter the text 42 as shown in FIG. 2( c).Typically, aninsert location marker or cursor 44 is shown while the entry line isfocused and data is being entered. The cursor marks where the nextcharacter will be typed. The cursor typically disappears when the userdefocuses from the entry line, as shown in FIG. 2( c). If the user laterwishes to enter a different text, the entry line 40 must be refocused asshown in FIG. 2( d). Refocusing brings back the cursor 44, typicallypositioned at the end of the previously entered text 42. In order toenter new text the previously entered text must be deleted, usuallythrough the use of the keyboard “DELETE” or “BACKSPACE” key, and thenthe new data is typed and the entry line defocused.

One area where the GUI interface has the potential to improve upon thisconventional text entry is in the case where the user is likely to wantto re-enter previously entered text. Situations of this type arise, forexample, when using a search window. Considering a search window as atypical example of such situations, the user typically enters searchparameters in multiple input dialog boxes contained within the searchwindow. The dialog boxes typically include one or more free-form textentry dialog boxes. The search is initiated by operating a “START”button or the like also contained within the search window. If thereturned results are unsatisfactory, various search parameters may bemodified to find optimum search parameters. In this process, the useroften will want to return to a previously used search parameter. With aconventional text entry dialog box, the parameter must be re-typed, andfor a search the typed text must usually be exactly identical to theprevious entry to produce a valid comparison with previous searchattempts.

The prior art teaches using a modified drop-down list box in this case.Such a box appears to be identical to the list boxes 16 and 18 of FIG.1, except that the list entries in the modified box consist of textentries previously entered in the blank space left of the drop-downselection arrow or button. The user may then operate on the drop-downselection button and select a previous entry using the pointing devicesimilarly to the way list box options are selected. Such a modifieddrop-down list box is sometimes called a drop-down combination box.

This prior art combination box solution is unsatisfactory because it isoften confusing to the user. As illustrated in FIG. 3( a ), the userinitially encounters the combination box. The unedited box 50 consistsof a blank line or space 52 and a dropdown selection button or arrow 54.To the user, this box appears identical to the unedited “State ofResidence” list box 18 shown in FIG. 1, and is therefore likely to beinterpreted by the user as a list dialog box rather than as a text entrydialog box. This is because in a conventional GUI interface, the usertypically associates an isolated blank line or space with a free-formtext entry dialog box, while a box with a drop-down arrow or selectionbutton is associated with a list box containing a list of availableselections. In the case of the prior art drop-down combination box 50,the user is initially presented with an unfamiliar dialog box whichshows a blank space coupled with a drop-down arrow button 54. This boxis confusing because it looks like a drop-down list box, but does notfunction like a drop-down list box.

The correct user action for the drop-down combination box 50 of FIG. 3(a) is to focus on the entry blank section 52 and type in some text,because upon startup of the combination dialog box there are no initialprevious text entries and so the list is empty. However, human naturetends to instead focus upon and operate the drop-down arrow button 54 tohunt for selections or options. As shown in FIG. 3( b), this actionbrings up a blank list 56. The blank list 56 further confuses the userand additionally may require the user to type something into the textentry section 52 of the combination box in order to defocus, even if theuser is not yet ready to do so and does not know what to type becausethe user had expected to obtain a list of options in accordance with theexpected operation of a list box.

To alleviate this problem, the prior art also teaches a modification ofthe drop-down combination box wherein the list includes a defaultinitial text. Many Internet browsers, for example, use such a modifiedcombination box as the address line dialog box. The default address isusually an intuitively clear phrase such as “Blank page”. This modifieddrop-down combination box may reduce confusion for the user, but it alsoplaces irrelevant, and usually unwanted, text into the text entrysection of the combination box. In order to enter meaningful text theuser must first delete the unwanted default text, which increases usereffort and adds to the frustration. The modified combination box alsoretains an unconventional appearance which is indistinguishable from alist dialog box. The user may be misled into believing the modifieddrop-down combination box actually is a list box. Because a list boxdoes not allow free-form text entry, the user may therefore fail to takeadvantage of the text-editing capability of the drop-down combinationbox and instead limit his activities to the default value(s) presented.

There remains, therefore, a need for an improved text entry dialog box,which retains the appearance of a conventional text entry line whileproviding a way to recall previously entered text. The present inventioncontemplates such an improved text entry dialog box.

SUMMARY OF THE INVENTION

In accordance with one aspect of the present invention, a text entrydialog box system for use with a processor, a display device, a mainmemory, data input means including pointing means, means for storing anoperating system and at least one application program, and means forloading said operating system and said application program into mainmemory is disclosed. The text entry dialog box system displays on ascreen of said display device a dialog box into which a user enters dataduring execution of said application program. A text entry space isprovided for free-form text entry by the associated user. A memoryprovides for storing text items, and a means for selectively displayinga selection button is provided.

Preferably, the text entry dialog box system includes means forselectively displaying the selection button when the memory contains atleast one previous text entry. A parser provides for parsing thefree-form text entry prior to storage in the memory, the storing beingconditional on the parsed entry containing at least one character. Thesystem preferably also includes means for selectively displaying a listof previously entered text items when the selection button is selectedby the associated user. The selection button may be a drop-down arrowbutton, and the list may be a drop-down list. Preferably, a means isprovided for initializing the memory as empty each time the associatedwindow is started.

In accordance with another aspect of the present invention, a computerimplemented method for facilitating input of text by an associated userusing a dialog box on a screen of a display device that is connected tosaid computer is disclosed. A text entry section of a dialog box isdisplayed on the screen of the display device. The number of entriesstored previously in a memory is counted, and based on the result of thecounting step, a selection button is selectively displayed on the screenof the display device. The selection button is preferably a drop-downarrow button, although other button types may also be employed. Themethod then waits for user focus on said text entry section. Upon userfocus, the text entry section is modified based upon actions by theuser, and the counting, displaying, waiting, and modifying steps arerepeated.

Preferably, the step of displaying the selection button is conditionalon the counting step returning a count value greater than zero. Themodifying step preferably includes the step of 5 selectively accepting atyped text entry from the user when the user focus is directed to thetext entry section, and the typed text entry is preferably parsed afterentry. The modifying step preferably also includes the step ofselectively performing a list selection routine when the user focus isdirected to the selection button, the list selection routine preferablyincluding accepting user selection of an entry from a list of the memoryentries. The counting step preferably counts previously accepted typedtext entries which contain at least one character.

In accordance with yet another aspect of the present invention, adrop-down list box system for use with a processor, a display device, amain memory, data input means including pointing means, means forstoring an operating system and at least one application program, andmeans for loading said operating system and said application programinto main memory is disclosed. The drop-down list box system displays ona screen of said display device a dialog box into which a user entersdata during execution of said application program. A means is providedfor displaying an editable text line. A means is also provided fordisplaying a selection list. A means is provided for selectivelydisplaying a drop-down selection arrow conditional upon the selectionlist containing at least one entry.

Preferably, the selection list contains previous text entries entered inthe editable text line. A parser preferably parses the edited text linecontents. The selection list preferably contains previous text entriesentered in the editable text line, parsed by the parser, and containingat least one character after the parsing.

One advantage of the present invention is that it retains theconventional appearance of a text entry dialog box used in conventionalGUI interfaces.

Another advantage of the present invention is that it allows the user torecall previous text entries.

Yet another advantage of the present invention is that it prevents theuser from erroneously selecting the drop-down arrow button when noprevious text entries are yet available for recall.

Still further advantages and benefits of the present invention willbecome apparent to those of ordinary skill in the art upon reading andunderstanding the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention may take form in various components and arrangements ofcomponents, and in various steps and arrangements of steps. The drawingsare only for the purposes of illustrating preferred embodiments and arenot to be construed as limiting the invention.

FIG. 1 shows a typical user data entry window in a GUI interface withthe form already partially filled out by the user;

FIG. 2 shows the operation of a conventional text entry dialog box;

FIG. 3 shows a prior art drop-down combination box which permits recallof previous text entries;

FIG. 4 shows the improved text entry dialog box which permits the userto recall previous text entries in an unambiguous manner; and,

FIG. 5 shows a flowchart of the operation of the improved text entrydialog box.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The improved text entry dialog box will be described in accordance witha first preferred embodiment of the invention with reference to FIG. 4(a)-4(d). When the window 60 containing the text entry dialog box 62 isinitially started, the user is presented only with a blank entry line 64as shown in FIG. 4( a). Initially, there are no previous text entries.Therefore, only a text entry space 62 is displayed, without thedrop-down selection arrow. Of course, the window may include other inputdialog boxes, such as a second improved text entry dialog box 66 forwhich only the text entry space 68 without the drop-down selection arrowis visible as well. In FIG. 4, second improved text entry dialog box 66will remain unedited in the description to follow, and so it retains thesame appearance throughout parts (a)-(d) of FIG. 4.

It will be observed that the unedited dialog boxes 62 and 66 arevisually indistinguishable from the unedited prior art text entry dialogbox 40 shown in FIG. 2 which does not have previous entry recallcapability. The typical GUI user will therefore be quite comfortablewith the dialog boxes shown in FIG. 4( a), and will readily recognizethese dialog boxes as text entry dialog boxes. The unedited improveddialog boxes 62 and 66 are, however, visually different from the priorart drop-down combination box 50 of FIG. 3 because the drop-downcombination box 50 includes a drop-down selection button 54. Selectionbutton 54 does not serve any useful purpose in FIG. 3 since there arenot yet any previous text entries to recall, and instead serves only toconfuse the user as discussed previously. For this reason, the uneditedimproved dialog boxes 62 and 66 shown in FIGS. 4( a)-4(d) do notinitially display a drop-down selection button.

In order to enter text, the user focuses on the entry line 64 and typestext 67 via an associated keyboard (not shown) as shown in FIG. 4( b ).The typing position is indicated in the conventional manner by cursor69. It will again be recognized that at this stage the improved textentry dialog box still appears and behaves identically to the prior artdialog box as shown in FIG. 2( b ). However, when the user defocuses tothereby register the entered text, either by focusing elsewhere, or bypressing the ENTER key on the associated keyboard or the like, theimproved text entry box behaves differently from the prior art textentry box, as seen by comparing FIG. 4(c) with prior art FIG. 2( c ).The cursor disappears upon defocusing in both cases. In the case of theimproved dialog box, however, a drop-down selection button 70additionally appears as shown in FIG. 4( c ). The drop-down selectionbutton is absent in the prior art text entry box shown in FIG. 2( c )since previous text entries cannot be recalled in the prior art textentry dialog box.

As shown in FIG. 4( d), previous text entries may be recalled in withthe improved text entry dialog box by selecting the drop-down selectionbutton 70 whereby a drop-down list 72 containing the previous textentries is displayed. Because at the point shown in FIG. 4( d) only asingle previous entry has been entered, which in fact corresponds to thepresent entry “abc”, the drop-down list contains only the single entry“abc”. However, it is to be appreciated that as additional text entriesare input into text entry line 64 they will also be added to thedrop-down list 72 for easy recall by selecting drop-down selectionbutton 70. It will also be recognized that the improved text entry box62 as shown in FIGS. 4( c) and 4(d) where prior text entries areavailable for recall are visually indistinguishable from a list box suchas the “State of Residence” box 18 and the “Age” list box 16 both shownin FIG. 1. However, the user is not prevented from appreciating the textediting capability of text entry line 64 of the improved text entrydialog box 62 because the drop-down selection button 70 did not becomeavailable to the user until after the user first entered text by editingtext entry line 64.

The invention therefore provides an improved text entry dialog box whichprovides the user with the look-and-feel of a conventional text entrybox, but with the added capability of previous text entry recall. Theimproved text entry dialog box is furthermore incapable of beingconfused with a list box.

With continuing reference to FIGS. 4( a)-4(d), it will be recognizedthat the invention may alternatively be viewed as an improved prior artlist box, wherein the text line 64 is editable and the visibility of thedrop-down selection arrow 70 is conditional upon the selection list 72containing at least one entry. Preferably, the selection list 72 isinitially empty and therefore inaccessible due to the invisibility ofthe drop-down selection arrow, and as text entries 67 are made in theeditable text line 64 these entries are added to the selection list 72,whereupon the drop-down selection arrow 70 becomes visible to enablerecall of these previous editable text line entries.

With reference next to FIG. 5, the preferred method by which theimproved text entry dialog box facilitates input of text in accordancewith a second preferred embodiment of the invention is now described.The method initiates when the associated window 60 (FIG. 4( a)) isopened in a step 80. A memory 82 which stores the previously enteredtext entries is initialized in a step 84. Preferably, the initializing84 involves emptying memory 82 of any previous contents so thatinitially there are no previous text entries in memory 82. The textentry section is then displayed in a step 86. This element is displayedregardless of the contents of memory 82. A memory count step 88 is thenperformed to determine the number of previous text entries storedtherein. If the number of previous entries is greater than zero 90 thenthe drop-down selection button or arrow is displayed in a step 92.Having displayed the appropriate text entry dialog box controls, thedialog box process waits for user focus to be directed to the dialog boxin a step 94. This step is consistent with the GUI paradigm in whichprogram flow during data entry is primarily directed by user focusrather than by program structure.

Once user focus is directed to the improved text entry dialog box, theprocess determines the nature of the user focus. If the focus is on thedrop-down selection button 96, then the list box selection routine isexecuted in a step 98. The details of a list box selection routine arewell-known prior art which is employed, for example, in conventionallist dialog boxes, and need not be described here in detail. Theselection list preferably contains previous text entries stored inmemory 82. After the user selects an entry from the list box through thelist box selection routine 98, process flow returns to the waiting state94. Because the selected entry is sourced from memory 82 which containsprevious presumably valid entries, there is no need to perform textparsing or another memory count 88 prior to re-entering the waiting mode94.

It will be recognized that the list box selection routine 98 is notaccessible if the previous decision point 90 bypassed display of thedrop-down selection button 92, since in that case there is no drop-downselection button on which the user may focus. This is consistent with anobjective of the invention to avoid presenting the user with a confusingempty selection list.

If the user focus was not directed to the drop-down selection arrow 96,then it was directed toward the free-form text entry section. In thiscase, the free-form text entry routine 100 is executed. The free-formtext entry routine is again well-known prior art which is not detailedhere. The free-form text entry routine displays a cursor and acceptstyped user input in the text entry section. The user-supplied text entrymay be directly stored in memory 82 for later recall through list boxselection routine 98. Preferably, however, the text is first parsed bytext parser 102. The text parser may be application-specific. It mayperform typical text parsing functions such as stripping leading and/ortrailing spaces or converting a number to a preferred format.

An application-specific text parser may additionally substitute an emptystring for an invalid string, if appropriate. For example, a text parserfor use in conjunction with a numeric input may reject an alphabeticstring by replacing it by an empty string. In cases where the userinputs an empty string or where text parser 102 substitutes an emptystring for an invalid user input, memory 82 will not receive data, andso no entry will be added to the previous text entry list. Uponcompletion of the free-form text entry routine 100 process flow isdirected back to the memory count step 88, whereby the appropriatenessof displaying the drop-down selection button 92 will be re-evaluated inview of the possibly updated memory 82 contents.

The invention has been described with reference to the preferredembodiments. Obviously, modifications and alterations will occur toothers upon reading and understanding the preceding detaileddescription. It is intended that the invention be construed as includingall such modifications and alterations insofar as they come within thescope of the appended claims or the equivalents thereof.

1. A text entry dialog box system for use with a display device, datainput means including pointing means, and processor means for executingan application program, and that displays on a screen of said displaydevice a dialog box into which an associated user enters data duringexecution of said application program, said text entry dialog box systemcomprising: a text entry space in a dialog box displayed on said screenof the display device for free-form entry of text items into the systemby the associated user; a memory for storing previously entered textitems which were previously entered into the text entry space by theassociated user; means for selectively displaying a selection button onthe screen of the display device in association with the dialog box forselection by the pointing means, the selection button being displayedsolely when the memory contains at least one previously entered textitem; and means for displaying a list of the previously entered textitems stored in the memory responsive to selection of the selectionbutton by the associated user.
 2. The text entry dialog box systemaccording to claim 1, further comprising: a parser for parsing the textitems as parsed text items prior to storage in the memory; and means forselectively storing the parsed text items in said memory based on theparsed text item containing at least one character.
 3. The text entrydialog box system according to claim 2, further including: means forinitializing the memory as empty each time the associated window isstarted.
 4. The text entry dialog box system according to claim 1,wherein: the selection button is a drop-down arrow button on the screenof the display device displayed in association with the dialog box; andthe list of previously entered text items is a drop-down list on thescreen of the display device displayed in association with the dialogbox.
 5. A computer implemented method for facilitating input of text byan associated user using a dialog box on a screen of a display devicethat is connected to said computer, the method comprising: (i)initializing a memory as empty; (ii) displaying a text entry section ofa dialog box on the screen of the display device; (iii) counting entriesstored previously in the memory; (iv) displaying a drop-down listselection button on the screen of the display device only if thecounting produces a value greater than zero; (v) receiving a typed textentry from the associated user via the text entry section of the dialogbox; (vi) updating the memory by adding a new entry corresponding to thetyped text entry; and (vii) repeating the displaying (ii), counting(iii), and displaying (iv) at least once.
 6. The method according toclaim 5, further including: performing a list selection routineresponsive to user selection of the drop-down list selection button. 7.The method according to claim 6, wherein the performing of the listselection routine includes: displaying a list of the memory entries; andaccepting user selection of an entry from the displayed list of thememory entries.
 8. The method according to claim 5, wherein: thecounting (iii) includes counting previously accepted typed textentrieswhich contain at least one character.
 9. The method according to claim5, wherein the step of displaying the drop-down list selection buttonincludes: displaying a drop-down arrow button on the screen of thedisplay device in association with the dialog box.
 10. The methodaccording to claim 5, further including: parsing the received textentry, the parsed text entry being stored in the memory by the updating.11. A program embodied in a computer readable medium, that when executedby a processor generates a graphical user interface text input dialogincluding: a free-form text entry portion displayed on an associateddisplay device for receiving a free-form text entry from an associateduser; a memory storing free-form text entries previously entered by theassociated user into the free-form text entry portion; a drop-down list,selection button displayed in conjunction with the free-form text entryportion only when the memory contains at least one previously enteredfree-form text entry; and a drop-down selection list portion displayedin conjunction with the free-form text entry portion responsive toactivation by the associated user of the drop-down list selectionbutton, file drop-down selection list portion listing the previouslyentered free-form text entries stored in the memory for selection by theassociated user.
 12. The program as set forth in claim 11, wherein thedrop-down list selection button includes: a down-arrow displayedadjacent the free-form text entry portion.